home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / ibus / setup / engineabout.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-11-11  |  3.7 KB  |  76 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import gtk
  5. from gtk import gdk
  6. import pango
  7. import ibus
  8. from gettext import dgettext
  9.  
  10. _ = lambda a: dgettext('ibus', a)
  11.  
  12. N_ = lambda a: a
  13.  
  14. class EngineAbout(gtk.Dialog):
  15.     
  16.     def __init__(self, enginedesc):
  17.         self._EngineAbout__engine_desc = enginedesc
  18.         super(EngineAbout, self).__init__(_('About'), None, gtk.DIALOG_MODAL, (gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE))
  19.         self._EngineAbout__init_ui()
  20.  
  21.     
  22.     def __init_ui(self):
  23.         self.set_icon_name('gtk-about')
  24.         sw = gtk.ScrolledWindow()
  25.         sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
  26.         sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
  27.         self._EngineAbout__text_view = gtk.TextView()
  28.         self._EngineAbout__text_view.set_size_request(400, 400)
  29.         self._EngineAbout__text_view.set_editable(False)
  30.         sw.add(self._EngineAbout__text_view)
  31.         sw.show_all()
  32.         self.vbox.pack_start(sw)
  33.         self._EngineAbout__fill_text_view()
  34.  
  35.     
  36.     def __fill_text_view(self):
  37.         text_buffer = self._EngineAbout__text_view.get_buffer()
  38.         self._EngineAbout__create_tags(text_buffer)
  39.         iter = text_buffer.get_iter_at_offset(0)
  40.         text_buffer.insert_with_tags_by_name(iter, '\n ', 'left_margin_16')
  41.         text_buffer.insert_pixbuf(iter, self._EngineAbout__load_icon(self._EngineAbout__engine_desc.icon))
  42.         text_buffer.insert_with_tags_by_name(iter, '\n%s\n' % self._EngineAbout__engine_desc.longname, 'heading', 'left_margin_16')
  43.         text_buffer.insert_with_tags_by_name(iter, _('Language: %s\n') % ibus.get_language_name(self._EngineAbout__engine_desc.language), 'small', 'bold', 'left_margin_16')
  44.         text_buffer.insert_with_tags_by_name(iter, _('Keyboard layout: %s\n') % self._EngineAbout__engine_desc.layout, 'small', 'bold', 'left_margin_16')
  45.         text_buffer.insert_with_tags_by_name(iter, _('Author: %s\n') % self._EngineAbout__engine_desc.author, 'small', 'bold', 'left_margin_16')
  46.         text_buffer.insert_with_tags_by_name(iter, _('Description:\n'), 'small', 'bold', 'left_margin_16')
  47.         text_buffer.insert_with_tags_by_name(iter, self._EngineAbout__engine_desc.description, 'wrap_text', 'left_margin_32')
  48.  
  49.     
  50.     def __create_tags(self, text_buffer):
  51.         text_buffer.create_tag('heading', weight = pango.WEIGHT_BOLD, size = 16 * pango.SCALE)
  52.         text_buffer.create_tag('bold', weight = pango.WEIGHT_BOLD)
  53.         text_buffer.create_tag('italic', style = pango.STYLE_ITALIC)
  54.         text_buffer.create_tag('small', scale = pango.SCALE_SMALL)
  55.         text_buffer.create_tag('gray_foreground', foreground = 'dark gray')
  56.         text_buffer.create_tag('wrap_text', wrap_mode = gtk.WRAP_WORD)
  57.         text_buffer.create_tag('left_margin_16', left_margin = 16)
  58.         text_buffer.create_tag('left_margin_32', left_margin = 32)
  59.  
  60.     
  61.     def __load_icon(self, icon):
  62.         
  63.         try:
  64.             pixbuf = gdk.pixbuf_new_from_file_at_scale(icon, 48, 48, True)
  65.         except:
  66.             theme = gtk.icon_theme_get_default()
  67.             icon = theme.lookup_icon('ibus', 48, 0)
  68.             if icon == None:
  69.                 icon = theme.lookup_icon('gtk-missing-image', 48, 0)
  70.             
  71.             pixbuf = icon.load_icon()
  72.  
  73.         return pixbuf
  74.  
  75.  
  76.